/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.open.oasis.docs.wsbpel._2._0.process.executable.util;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.xml.namespace.QName;

import org.eclipse.emf.common.util.DiagnosticChain;

import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.util.EObjectValidator;

import org.eclipse.emf.ecore.xml.type.XMLTypePackage;

import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil;
import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator;

import org.open.oasis.docs.wsbpel._2._0.process.executable.*;

/**
 * <!-- begin-user-doc -->
 * The <b>Validator</b> for the model.
 * <!-- end-user-doc -->
 * @see org.open.oasis.docs.wsbpel._2._0.process.executable.ExecutablePackage
 * @generated
 */
public class ExecutableValidator extends EObjectValidator {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final ExecutableValidator INSTANCE = new ExecutableValidator();

	/**
	 * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.common.util.Diagnostic#getSource()
	 * @see org.eclipse.emf.common.util.Diagnostic#getCode()
	 * @generated
	 */
	public static final String DIAGNOSTIC_SOURCE = "org.open.oasis.docs.wsbpel._2._0.process.executable";

	/**
	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;

	/**
	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;

	/**
	 * The cached base package validator.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected XMLTypeValidator xmlTypeValidator;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ExecutableValidator() {
		super();
		xmlTypeValidator = XMLTypeValidator.INSTANCE;
	}

	/**
	 * Returns the package of this validator switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EPackage getEPackage() {
	  return ExecutablePackage.eINSTANCE;
	}

	/**
	 * Calls <code>validateXXX</code> for the corresponding classifier of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
		switch (classifierID) {
			case ExecutablePackage.DOCUMENT_ROOT:
				return validateDocumentRoot((DocumentRoot)value, diagnostics, context);
			case ExecutablePackage.TACTIVITY:
				return validateTActivity((TActivity)value, diagnostics, context);
			case ExecutablePackage.TACTIVITY_CONTAINER:
				return validateTActivityContainer((TActivityContainer)value, diagnostics, context);
			case ExecutablePackage.TASSIGN:
				return validateTAssign((TAssign)value, diagnostics, context);
			case ExecutablePackage.TBOOLEAN_EXPR:
				return validateTBooleanExpr((TBooleanExpr)value, diagnostics, context);
			case ExecutablePackage.TBRANCHES:
				return validateTBranches((TBranches)value, diagnostics, context);
			case ExecutablePackage.TCATCH:
				return validateTCatch((TCatch)value, diagnostics, context);
			case ExecutablePackage.TCOMPENSATE:
				return validateTCompensate((TCompensate)value, diagnostics, context);
			case ExecutablePackage.TCOMPENSATE_SCOPE:
				return validateTCompensateScope((TCompensateScope)value, diagnostics, context);
			case ExecutablePackage.TCOMPLETION_CONDITION:
				return validateTCompletionCondition((TCompletionCondition)value, diagnostics, context);
			case ExecutablePackage.TCONDITION:
				return validateTCondition((TCondition)value, diagnostics, context);
			case ExecutablePackage.TCOPY:
				return validateTCopy((TCopy)value, diagnostics, context);
			case ExecutablePackage.TCORRELATION:
				return validateTCorrelation((TCorrelation)value, diagnostics, context);
			case ExecutablePackage.TCORRELATIONS:
				return validateTCorrelations((TCorrelations)value, diagnostics, context);
			case ExecutablePackage.TCORRELATION_SET:
				return validateTCorrelationSet((TCorrelationSet)value, diagnostics, context);
			case ExecutablePackage.TCORRELATION_SETS:
				return validateTCorrelationSets((TCorrelationSets)value, diagnostics, context);
			case ExecutablePackage.TCORRELATIONS_WITH_PATTERN:
				return validateTCorrelationsWithPattern((TCorrelationsWithPattern)value, diagnostics, context);
			case ExecutablePackage.TCORRELATION_WITH_PATTERN:
				return validateTCorrelationWithPattern((TCorrelationWithPattern)value, diagnostics, context);
			case ExecutablePackage.TDEADLINE_EXPR:
				return validateTDeadlineExpr((TDeadlineExpr)value, diagnostics, context);
			case ExecutablePackage.TDOCUMENTATION:
				return validateTDocumentation((TDocumentation)value, diagnostics, context);
			case ExecutablePackage.TDURATION_EXPR:
				return validateTDurationExpr((TDurationExpr)value, diagnostics, context);
			case ExecutablePackage.TELSEIF:
				return validateTElseif((TElseif)value, diagnostics, context);
			case ExecutablePackage.TEMPTY:
				return validateTEmpty((TEmpty)value, diagnostics, context);
			case ExecutablePackage.TEVENT_HANDLERS:
				return validateTEventHandlers((TEventHandlers)value, diagnostics, context);
			case ExecutablePackage.TEXIT:
				return validateTExit((TExit)value, diagnostics, context);
			case ExecutablePackage.TEXPRESSION:
				return validateTExpression((TExpression)value, diagnostics, context);
			case ExecutablePackage.TEXTENSIBLE_ELEMENTS:
				return validateTExtensibleElements((TExtensibleElements)value, diagnostics, context);
			case ExecutablePackage.TEXTENSION:
				return validateTExtension((TExtension)value, diagnostics, context);
			case ExecutablePackage.TEXTENSION_ACTIVITY:
				return validateTExtensionActivity((TExtensionActivity)value, diagnostics, context);
			case ExecutablePackage.TEXTENSION_ASSIGN_OPERATION:
				return validateTExtensionAssignOperation((TExtensionAssignOperation)value, diagnostics, context);
			case ExecutablePackage.TEXTENSIONS:
				return validateTExtensions((TExtensions)value, diagnostics, context);
			case ExecutablePackage.TFAULT_HANDLERS:
				return validateTFaultHandlers((TFaultHandlers)value, diagnostics, context);
			case ExecutablePackage.TFLOW:
				return validateTFlow((TFlow)value, diagnostics, context);
			case ExecutablePackage.TFOR_EACH:
				return validateTForEach((TForEach)value, diagnostics, context);
			case ExecutablePackage.TFROM:
				return validateTFrom((TFrom)value, diagnostics, context);
			case ExecutablePackage.TFROM_PART:
				return validateTFromPart((TFromPart)value, diagnostics, context);
			case ExecutablePackage.TFROM_PARTS:
				return validateTFromParts((TFromParts)value, diagnostics, context);
			case ExecutablePackage.TIF:
				return validateTIf((TIf)value, diagnostics, context);
			case ExecutablePackage.TIMPORT:
				return validateTImport((TImport)value, diagnostics, context);
			case ExecutablePackage.TINVOKE:
				return validateTInvoke((TInvoke)value, diagnostics, context);
			case ExecutablePackage.TLINK:
				return validateTLink((TLink)value, diagnostics, context);
			case ExecutablePackage.TLINKS:
				return validateTLinks((TLinks)value, diagnostics, context);
			case ExecutablePackage.TLITERAL:
				return validateTLiteral((TLiteral)value, diagnostics, context);
			case ExecutablePackage.TMESSAGE_EXCHANGE:
				return validateTMessageExchange((TMessageExchange)value, diagnostics, context);
			case ExecutablePackage.TMESSAGE_EXCHANGES:
				return validateTMessageExchanges((TMessageExchanges)value, diagnostics, context);
			case ExecutablePackage.TON_ALARM_EVENT:
				return validateTOnAlarmEvent((TOnAlarmEvent)value, diagnostics, context);
			case ExecutablePackage.TON_ALARM_PICK:
				return validateTOnAlarmPick((TOnAlarmPick)value, diagnostics, context);
			case ExecutablePackage.TON_EVENT:
				return validateTOnEvent((TOnEvent)value, diagnostics, context);
			case ExecutablePackage.TON_MESSAGE:
				return validateTOnMessage((TOnMessage)value, diagnostics, context);
			case ExecutablePackage.TON_MSG_COMMON:
				return validateTOnMsgCommon((TOnMsgCommon)value, diagnostics, context);
			case ExecutablePackage.TPARTNER_LINK:
				return validateTPartnerLink((TPartnerLink)value, diagnostics, context);
			case ExecutablePackage.TPARTNER_LINKS:
				return validateTPartnerLinks((TPartnerLinks)value, diagnostics, context);
			case ExecutablePackage.TPICK:
				return validateTPick((TPick)value, diagnostics, context);
			case ExecutablePackage.TPROCESS:
				return validateTProcess((TProcess)value, diagnostics, context);
			case ExecutablePackage.TQUERY:
				return validateTQuery((TQuery)value, diagnostics, context);
			case ExecutablePackage.TRECEIVE:
				return validateTReceive((TReceive)value, diagnostics, context);
			case ExecutablePackage.TREPEAT_UNTIL:
				return validateTRepeatUntil((TRepeatUntil)value, diagnostics, context);
			case ExecutablePackage.TREPLY:
				return validateTReply((TReply)value, diagnostics, context);
			case ExecutablePackage.TRETHROW:
				return validateTRethrow((TRethrow)value, diagnostics, context);
			case ExecutablePackage.TSCOPE:
				return validateTScope((TScope)value, diagnostics, context);
			case ExecutablePackage.TSEQUENCE:
				return validateTSequence((TSequence)value, diagnostics, context);
			case ExecutablePackage.TSOURCE:
				return validateTSource((TSource)value, diagnostics, context);
			case ExecutablePackage.TSOURCES:
				return validateTSources((TSources)value, diagnostics, context);
			case ExecutablePackage.TTARGET:
				return validateTTarget((TTarget)value, diagnostics, context);
			case ExecutablePackage.TTARGETS:
				return validateTTargets((TTargets)value, diagnostics, context);
			case ExecutablePackage.TTHROW:
				return validateTThrow((TThrow)value, diagnostics, context);
			case ExecutablePackage.TTO:
				return validateTTo((TTo)value, diagnostics, context);
			case ExecutablePackage.TTO_PART:
				return validateTToPart((TToPart)value, diagnostics, context);
			case ExecutablePackage.TTO_PARTS:
				return validateTToParts((TToParts)value, diagnostics, context);
			case ExecutablePackage.TVALIDATE:
				return validateTValidate((TValidate)value, diagnostics, context);
			case ExecutablePackage.TVARIABLE:
				return validateTVariable((TVariable)value, diagnostics, context);
			case ExecutablePackage.TVARIABLES:
				return validateTVariables((TVariables)value, diagnostics, context);
			case ExecutablePackage.TWAIT:
				return validateTWait((TWait)value, diagnostics, context);
			case ExecutablePackage.TWHILE:
				return validateTWhile((TWhile)value, diagnostics, context);
			case ExecutablePackage.TBOOLEAN:
				return validateTBoolean((TBoolean)value, diagnostics, context);
			case ExecutablePackage.TINITIATE:
				return validateTInitiate((TInitiate)value, diagnostics, context);
			case ExecutablePackage.TPATTERN:
				return validateTPattern((TPattern)value, diagnostics, context);
			case ExecutablePackage.TROLES:
				return validateTRoles((TRoles)value, diagnostics, context);
			case ExecutablePackage.BPEL_VARIABLE_NAME:
				return validateBPELVariableName((String)value, diagnostics, context);
			case ExecutablePackage.BPEL_VARIABLE_NAMES:
				return validateBPELVariableNames((List<?>)value, diagnostics, context);
			case ExecutablePackage.BPEL_VARIABLE_NAMES_BASE:
				return validateBPELVariableNamesBase((List<?>)value, diagnostics, context);
			case ExecutablePackage.QNAMES:
				return validateQNames((List<?>)value, diagnostics, context);
			case ExecutablePackage.QNAMES_BASE:
				return validateQNamesBase((List<?>)value, diagnostics, context);
			case ExecutablePackage.TBOOLEAN_OBJECT:
				return validateTBooleanObject((TBoolean)value, diagnostics, context);
			case ExecutablePackage.TINITIATE_OBJECT:
				return validateTInitiateObject((TInitiate)value, diagnostics, context);
			case ExecutablePackage.TPATTERN_OBJECT:
				return validateTPatternObject((TPattern)value, diagnostics, context);
			case ExecutablePackage.TROLES_OBJECT:
				return validateTRolesObject((TRoles)value, diagnostics, context);
			default: 
				return true;
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateDocumentRoot(DocumentRoot documentRoot, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(documentRoot, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTActivity(TActivity tActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tActivity, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTActivityContainer(TActivityContainer tActivityContainer, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tActivityContainer, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTAssign(TAssign tAssign, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tAssign, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTBooleanExpr(TBooleanExpr tBooleanExpr, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tBooleanExpr, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTBranches(TBranches tBranches, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tBranches, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCatch(TCatch tCatch, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCatch, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCompensate(TCompensate tCompensate, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCompensate, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCompensateScope(TCompensateScope tCompensateScope, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCompensateScope, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCompletionCondition(TCompletionCondition tCompletionCondition, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCompletionCondition, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCondition(TCondition tCondition, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCondition, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCopy(TCopy tCopy, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCopy, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelation(TCorrelation tCorrelation, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelation, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelations(TCorrelations tCorrelations, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelations, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelationSet(TCorrelationSet tCorrelationSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelationSet, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelationSets(TCorrelationSets tCorrelationSets, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelationSets, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelationsWithPattern(TCorrelationsWithPattern tCorrelationsWithPattern, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelationsWithPattern, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTCorrelationWithPattern(TCorrelationWithPattern tCorrelationWithPattern, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tCorrelationWithPattern, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTDeadlineExpr(TDeadlineExpr tDeadlineExpr, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tDeadlineExpr, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTDocumentation(TDocumentation tDocumentation, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tDocumentation, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTDurationExpr(TDurationExpr tDurationExpr, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tDurationExpr, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTElseif(TElseif tElseif, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tElseif, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTEmpty(TEmpty tEmpty, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tEmpty, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTEventHandlers(TEventHandlers tEventHandlers, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tEventHandlers, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExit(TExit tExit, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExit, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExpression(TExpression tExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExpression, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExtensibleElements(TExtensibleElements tExtensibleElements, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExtensibleElements, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExtension(TExtension tExtension, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExtension, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExtensionActivity(TExtensionActivity tExtensionActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExtensionActivity, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExtensionAssignOperation(TExtensionAssignOperation tExtensionAssignOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExtensionAssignOperation, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTExtensions(TExtensions tExtensions, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tExtensions, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTFaultHandlers(TFaultHandlers tFaultHandlers, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tFaultHandlers, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTFlow(TFlow tFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tFlow, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTForEach(TForEach tForEach, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tForEach, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTFrom(TFrom tFrom, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tFrom, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTFromPart(TFromPart tFromPart, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tFromPart, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTFromParts(TFromParts tFromParts, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tFromParts, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTIf(TIf tIf, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tIf, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTImport(TImport tImport, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tImport, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTInvoke(TInvoke tInvoke, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tInvoke, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTLink(TLink tLink, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tLink, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTLinks(TLinks tLinks, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tLinks, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTLiteral(TLiteral tLiteral, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tLiteral, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTMessageExchange(TMessageExchange tMessageExchange, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tMessageExchange, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTMessageExchanges(TMessageExchanges tMessageExchanges, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tMessageExchanges, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTOnAlarmEvent(TOnAlarmEvent tOnAlarmEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tOnAlarmEvent, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTOnAlarmPick(TOnAlarmPick tOnAlarmPick, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tOnAlarmPick, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTOnEvent(TOnEvent tOnEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tOnEvent, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTOnMessage(TOnMessage tOnMessage, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tOnMessage, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTOnMsgCommon(TOnMsgCommon tOnMsgCommon, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tOnMsgCommon, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTPartnerLink(TPartnerLink tPartnerLink, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tPartnerLink, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTPartnerLinks(TPartnerLinks tPartnerLinks, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tPartnerLinks, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTPick(TPick tPick, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tPick, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTProcess(TProcess tProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tProcess, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTQuery(TQuery tQuery, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tQuery, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTReceive(TReceive tReceive, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tReceive, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTRepeatUntil(TRepeatUntil tRepeatUntil, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tRepeatUntil, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTReply(TReply tReply, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tReply, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTRethrow(TRethrow tRethrow, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tRethrow, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTScope(TScope tScope, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tScope, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTSequence(TSequence tSequence, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tSequence, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTSource(TSource tSource, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tSource, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTSources(TSources tSources, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tSources, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTTarget(TTarget tTarget, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tTarget, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTTargets(TTargets tTargets, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tTargets, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTThrow(TThrow tThrow, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tThrow, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTTo(TTo tTo, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tTo, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTToPart(TToPart tToPart, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tToPart, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTToParts(TToParts tToParts, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tToParts, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTValidate(TValidate tValidate, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tValidate, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTVariable(TVariable tVariable, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tVariable, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTVariables(TVariables tVariables, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tVariables, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTWait(TWait tWait, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tWait, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTWhile(TWhile tWhile, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tWhile, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTBoolean(TBoolean tBoolean, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTInitiate(TInitiate tInitiate, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTPattern(TPattern tPattern, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTRoles(TRoles tRoles, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableName(String bpelVariableName, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = validateBPELVariableName_Pattern(bpelVariableName, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @see #validateBPELVariableName_Pattern
	 */
	public static final  PatternMatcher [][] BPEL_VARIABLE_NAME__PATTERN__VALUES =
		new PatternMatcher [][] {
			new PatternMatcher [] {
				XMLTypeUtil.createPatternMatcher("[^\\.]+")
			},
			new PatternMatcher [] {
				XMLTypeUtil.createPatternMatcher("[\\i-[:]][\\c-[:]]*")
			},
			new PatternMatcher [] {
				XMLTypeUtil.createPatternMatcher("\\i\\c*")
			}
		};

	/**
	 * Validates the Pattern constraint of '<em>BPEL Variable Name</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableName_Pattern(String bpelVariableName, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validatePattern(ExecutablePackage.eINSTANCE.getBPELVariableName(), bpelVariableName, BPEL_VARIABLE_NAME__PATTERN__VALUES, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableNames(List<?> bpelVariableNames, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = validateBPELVariableNamesBase_ItemType(bpelVariableNames, diagnostics, context);
		if (result || diagnostics != null) result &= validateBPELVariableNames_MinLength(bpelVariableNames, diagnostics, context);
		return result;
	}

	/**
	 * Validates the MinLength constraint of '<em>BPEL Variable Names</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableNames_MinLength(List<?> bpelVariableNames, DiagnosticChain diagnostics, Map<Object, Object> context) {
		int length = bpelVariableNames.size();  
		boolean result = length >= 1;
		if (!result && diagnostics != null) 
			reportMinLengthViolation(ExecutablePackage.eINSTANCE.getBPELVariableNames(), bpelVariableNames, length, 1, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableNamesBase(List<?> bpelVariableNamesBase, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = validateBPELVariableNamesBase_ItemType(bpelVariableNamesBase, diagnostics, context);
		return result;
	}

	/**
	 * Validates the ItemType constraint of '<em>BPEL Variable Names Base</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBPELVariableNamesBase_ItemType(List<?> bpelVariableNamesBase, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = true;
		for (Iterator<?> i = bpelVariableNamesBase.iterator(); i.hasNext() && (result || diagnostics != null); ) {
			Object item = i.next();
			if (ExecutablePackage.eINSTANCE.getBPELVariableName().isInstance(item)) {
				result &= validateBPELVariableName((String)item, diagnostics, context);
			}
			else {
				result = false;
				reportDataValueTypeViolation(ExecutablePackage.eINSTANCE.getBPELVariableName(), item, diagnostics, context);
			}
		}
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateQNames(List<?> qNames, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = validateQNamesBase_ItemType(qNames, diagnostics, context);
		if (result || diagnostics != null) result &= validateQNames_MinLength(qNames, diagnostics, context);
		return result;
	}

	/**
	 * Validates the MinLength constraint of '<em>QNames</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateQNames_MinLength(List<?> qNames, DiagnosticChain diagnostics, Map<Object, Object> context) {
		int length = qNames.size();  
		boolean result = length >= 1;
		if (!result && diagnostics != null) 
			reportMinLengthViolation(ExecutablePackage.eINSTANCE.getQNames(), qNames, length, 1, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateQNamesBase(List<?> qNamesBase, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = validateQNamesBase_ItemType(qNamesBase, diagnostics, context);
		return result;
	}

	/**
	 * Validates the ItemType constraint of '<em>QNames Base</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateQNamesBase_ItemType(List<?> qNamesBase, DiagnosticChain diagnostics, Map<Object, Object> context) {
		boolean result = true;
		for (Iterator<?> i = qNamesBase.iterator(); i.hasNext() && (result || diagnostics != null); ) {
			Object item = i.next();
			if (XMLTypePackage.Literals.QNAME.isInstance(item)) {
				result &= xmlTypeValidator.validateQName((QName)item, diagnostics, context);
			}
			else {
				result = false;
				reportDataValueTypeViolation(XMLTypePackage.Literals.QNAME, item, diagnostics, context);
			}
		}
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTBooleanObject(TBoolean tBooleanObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTInitiateObject(TInitiate tInitiateObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTPatternObject(TPattern tPatternObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTRolesObject(TRoles tRolesObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return true;
	}

} //ExecutableValidator
